perm filename LOOKF.FAI[FUN,LCS]1 blob
sn#249471 filedate 1976-11-23 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE LOOK ********* NOV, 76 *********
C00006 ENDMK
C⊗;
TITLE LOOK ; ********* NOV, 76 *********
INTERNAL LOOK,LOOKD,LOOKF
INTERNAL FORNAM ;USE THIS TO SET NAME.EXT FOR FORTRAN READING OR
EXTERNAL FILES. ;WRITING ON DSK (DEV.1 ONLY!)
CH3←15 ;WAS ←13 4/18/75 *******
DEFINE ERROR (MSG)
< JSA 16,.ERROR
JUMP [ASCIZ/MSG/
]
>
LKUP: 0
SETZM DIR+2
SETZM DIR+3
LOOKUP CH3,DIR
JRA 16,0(16)
JRA 16,1(16)
INTFIZ: 0 ;INITS DSK FOR INPUT
MOVEI REGS
BLT REGS+3
INIT CH3,17
SIXBIT/DSK/
0
ERROR <CAN'T INIT DSK!>
JRST INTF4
COM: OCT 0,0
BLKNUM: 0
.ERROR: 0
OUTSTR [ASCIZ/?
/] ;MAKE SURE HE CAN SEE HIS ERROR
OUTSTR @(16) ;OUTPUT ERROR MESSAGE
CALLI 1,12 ;LET USER CONTI2UE
JRA 16,1(16)
CH←13
REGS: BLOCK 20
;LOOK(<FILE>) FOR NO EXT., LOOKD() FOR .DMD, LOOKF() FOR .FUN
LOOKF: 0
MOVSI 0,'FUN'
JRST LOOK1
LOOKD: 0
MOVSI 0,'DMD'
JRST LOOK1
LOOK: 0
MOVEI 0,0
LOOK1: MOVEM 0,DIR+1
MOVE 0,@(16)
MOVEM 0,FILNAM
JSA 16, INTFIQ
SETZM DIR+2
SETZM DIR+3
LOOKUP CH,DIR
TDZA 0,0
MOVNI 0,1
JRA 16,1(16)
INTFIQ: 0 ;INITS DSK FOR INPUT
MOVEI REGS
BLT REGS+3
INIT CH,17
SIXBIT/DSK/
0
HALT .-3
; ERROR <CAN'T INIT DSK!>
INTF4: MOVE 0,FILNAM#
MOVEM 0,FN#
MOVE 1,[POINT 7,FN]
INTF3: MOVE 2,[POINT 6,DIR]
SETZM DIR
MOVEI 3,5
INTF1: ILDB 0,1
CAIN 0," "
JRST INTF2
SUBI 0,40
IDPB 0,2
SOJG 3,INTF1
INTF2: HRLZI REGS
BLT 3
JRA 16,0(16)
DIR: BLOCK 4
FORNAM: 0 ; CALL FORNAM(<FILE NAME>,<EXTENSION>)
MOVE 0,@0(16)
MOVEM 0,DIR
MOVE 1,[POINT 7,DIR]
MOVE 2,[POINT 6,FILES.]
SETZM FILES.
MOVEI 3,5
NAM1: ILDB 0,1
CAIN 0," "
JRST NAM2
SUBI 0,40
IDPB 0,2
SOJG 3,NAM1
NAM2: MOVE 0,@1(16)
MOVEM 0,FN
MOVE 1,[POINT 7,FN]
EXTF3: MOVE 2,[POINT 6,FILES.+1]
SETZM FILES.+1
MOVEI 3,5
EXTF1: ILDB 0,1
CAIN 0," "
JRA 16,2(16)
SUBI 0,40
IDPB 0,2
SOJG 3,EXTF1
JRA 16,2(16)
END